The present disclosure relates generally to information handling systems, and more particularly to enabling a plurality of link aggregated node devices to run the spanning tree protocol without blocking inter-chassis links between the link aggregated node devices.
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Some information handling systems such as switches utilize link aggregation to combine multiple network connections in order to increase throughput, provide redundancy, and/or provide a variety of other link aggregation benefits known in the art. For example, some switches utilize Virtual Link Trunking (VLT), which is a proprietary link aggregation protocol that is provided by the Assignee of the present disclosure and that allows for the setup of an aggregated link to a plurality of different switches. VLT is a layer-2 link aggregation protocol that may be utilized by servers and access switches to, for example, provide a redundant load-balanced connection to the core-network in a loop-free environment, provide uplinks between access switches and core switches, and/or provide a variety of other VLT benefits that would be apparent to one of skill in the art. Conventional VLT provides node level and link level resiliency without the use of the conventional spanning tree protocol, as the use of the conventional spanning tree protocol in place of VLT can result in the blocking of at least a portion of an aggregation link between VLT switches, which results in a waste of bandwidth.
However, in some situations, it would be beneficial to block links (as is provided by the conventional spanning tree protocol) to VLT nodes such as the switches discussed above. While VLT nodes generally avoid data loops by forming multi-node link aggregation groups (LAGs), some VLT node configuration can still result in data loops. For example, with reference to the two-node VLT system 200 of FIG. 2, a pair of VLT node devices 202 and 204 may be connected to each other by an Inter-Chassis Link (ICL) 206, and may each be part of a VLT LAG 208 to a Top Of Rack (TOR) switch device 210 that is also connected to the VLT node device 202 by a link 212. In another example, with reference to the two-node VLT system 300 of FIG. 3, a pair of VLT node devices 302 and 304 may be connected to each other by an ICL 306, and may each be part of a first VLT LAG 308 to a TOR switch device 310, as well as part of a second VLT LAG 312 to a TOR switch device 314 that is also connected to the TOR switch 310 by a link 316. One of skill in the art in possession of the present disclosure will recognize how the configurations of the two-node VLT systems 200 and 300, as well as the n-node VLT system discussed below with reference to FIG. 4, may result in data loops (e.g., via a data loop provided by the ICL 206, the VLT LAG 208, and the link 210 in FIG. 2.)
N-node VLT systems can support any arbitrary topology (e.g., star topologies, ring topologies, mesh topologies, etc.) for a VLT fabric that includes VLT nodes connected by ICLs. In such n-node VLT systems, a VLT fabric manager may run an ICL loop prevention algorithm and install any appropriate forwarding rules to break loops in the VLT fabric without blocking any of the ICLs between the VLT nodes. However, if the conventional spanning tree protocol is run on such an n-node VLT system, it may operate to block ICLs between VLT nodes. Furthermore, the conventional spanning tree protocol may also block ICLs between the VLT nodes even when there is no data loop in the VLT fabric (i.e., in the VLT nodes connected by ICLs), as if the ICL is part of a data loop (e.g., the ICL 206 that is part of a data loop that includes the VLT lag 208 and the link 210 in FIG. 2), the conventional spanning tree protocol may operate to block that ICL to avoid the data loop. Furthermore, VLT LAGs can be provided for all the VLT nodes in the VLT fabric, or for only a subset of the VLT nodes in the VLT fabric, and the conventional spanning tree protocol would need to run on all of the VLT nodes in the VLT fabric, with the conventional spanning tree protocol port state for the VLT LAG consistent across all of the VLT nodes in the VLT fabric, and the conventional spanning tree protocol using the same port identifier for control messages (e.g., Bridging Protocol Data Units (BDPUs)) sent to all the VLT nodes that are part of a VLT LAG. Solving these and other issues would enable the use of the spanning tree protocol to block links in an n-node VLT system in order to address data loops that arise in some VLT node configurations.
Accordingly, it would be desirable to provide a spanning tree enabled n-node link aggregation system.